package com.kcnet.qk.util;

import com.alibaba.fastjson.JSON;
import com.kcnet.qk.app.AppContext;
import com.kcnet.qk.constant.Const;
import com.kcnet.qk.controller.addfriend.AddAdopCTR;
import com.kcnet.qk.controller.addfriend.AddContactController;
import com.kcnet.qk.controller.addfriend.AddGroupFriendCTR;
import com.kcnet.qk.controller.addfriend.AddSearchCTR;
import com.kcnet.qk.controller.hdyh.HdyhAoduReplyCTR;
import com.kcnet.qk.controller.hdyh.HdyhFriendSendMsgCTR;
import com.kcnet.qk.controller.pyq.PyqDzCTR;
import com.kcnet.qk.controller.pyq.PyqLlCTR;
import com.kcnet.qk.controller.pyq.PyqSendFriendTextAndImg;
import com.kcnet.qk.controller.pyq.PyqSendFriendVideo;
import com.kcnet.qk.controller.sjgl.AddNearPeopleController;
import com.kcnet.qk.controller.sjgl.SjglSenAllGroupMsgCTR;
import com.kcnet.qk.controller.sjgl.SjqlGroupHairController;
import com.kcnet.qk.controller.sjgl.SjqlLaunchGroupChatController;
import com.kcnet.qk.model.BaseData;
import com.kcnet.qk.netty.NettyClient;

import org.greenrobot.eventbus.EventBus;
import org.json.JSONObject;

import cn.jesse.nativelogger.NLogger;


/**
 * Created by Administrator on 2018/5/10 0010.
 */

public class JsonNettyData {
    private static String TAG = "JsonNettyData";

    public static void sendToServerFlag(long id, int status, String msg) {

        String body = "{\"code\":2,\"msg\":\"" + msg + "\",\"id\":" + id + ",\"status\":" + status + "}";
        NLogger.d(TAG, "发送数据:" + body);
        NettyClient.getInstance().sendMsgToServer(body.getBytes());
    }

    public static void pasrsJson(String value) {
        int addType = -1;
        BaseData data;
        try {
            JSONObject jb = new JSONObject(value);
            addType = jb.getInt("code");
            switch (addType) {
                case 201://添加通讯录好友
                    data = JSON.parseObject(value, BaseData.class);
                    AddContactController.getInstance().setParms(data.getData().getCanClickCount(),
                            data.getData().getMinWait(),data.getData().getMaxWait(),data.getData().getText());
                    break;
                case 202://添加搜索好友
                    data = JSON.parseObject(value, BaseData.class);
                    AddSearchCTR.getInstance().setParms(data.getData().getMinWait(),data.getData().getMaxWait(),
                            data.getData().getList(),data.getData().getText());
                    break;
                case 203://添加群好友
                    data = JSON.parseObject(value, BaseData.class);
                    AddGroupFriendCTR.getInstance().setParms(data.getData().getCanClickCount(),
                            data.getData().getMinWait(),data.getData().getMaxWait(),data.getData().getMaxAddFriend(),
                            data.getData().getText());
                    break;
                case 204://通过好友请求
                    data = JSON.parseObject(value, BaseData.class);
                    AddAdopCTR.getInstance().setParms(data.getData().getCanClickCount(),
                            data.getData().getMinWait(),data.getData().getMaxWait(),data.getData().getText());
                    break;
                case 205://好友聊天
                    data = JSON.parseObject(value, BaseData.class);
                    HdyhFriendSendMsgCTR.getInstance().setParms(data.getData().getCanClickCount(),
                            data.getData().getMinWait(),data.getData().getMaxWait(),data.getData().getList());
                    break;
                case 206://自动回复
                    data = JSON.parseObject(value, BaseData.class);
                    HdyhAoduReplyCTR.getInstance().setParms(data.getData().getStatus(),data.getData().getKeyList(),
                            data.getData().getContentList());
                    break;
                case 207://朋友圈自动浏览
                    data = JSON.parseObject(value, BaseData.class);
                    PyqLlCTR.getInstance().setParms(data.getData().getCanClickCount(),
                            data.getData().getMinWait(),data.getData().getMaxWait());
                    break;
                case 208://朋友圈点赞
                    data = JSON.parseObject(value, BaseData.class);
                    PyqDzCTR.getInstance().setParms(data.getData().getCanClickCount(),
                            data.getData().getMinWait(),data.getData().getMaxWait());
                    break;
                case 209://朋友圈发视频
                    data = JSON.parseObject(value, BaseData.class);
                    PyqSendFriendVideo.getInstance().setParms(data.getData().getCanClickCount(),
                            data.getData().getMinWait(),data.getData().getMaxWait(),data.getData().getText());
                    break;
                case 210://朋友圈发图文
                    data = JSON.parseObject(value, BaseData.class);
                    PyqSendFriendTextAndImg.getInstance().setParms(data.getData().getMinWait(),data.getData().getMaxWait(),
                            data.getData().getText(),data.getData().getImgSize());
                    break;
                case 211://加附近的人
                    data = JSON.parseObject(value, BaseData.class);
                    AddNearPeopleController.getInstance().setParms(data.getData().getCanClickCount(),
                            data.getData().getMinWait(),data.getData().getMaxWait(),data.getData().getText());
                    break;
                case 212://摇一摇
                    data = JSON.parseObject(value, BaseData.class);
                    break;
                case 213://发起群聊
                    data = JSON.parseObject(value, BaseData.class);
                    SjqlLaunchGroupChatController.getInstance().setParms(data.getData().getCanClickCount(),
                            data.getData().getMinWait(),data.getData().getMaxWait());
                    break;
                case 214://群发群聊
                    data = JSON.parseObject(value, BaseData.class);
                    SjglSenAllGroupMsgCTR.getInstance().setParms(data.getData().getCanClickCount(),
                            data.getData().getMinWait(),data.getData().getMaxWait(),data.getData().getText());
                    break;
                case 215://群发好友
                    data = JSON.parseObject(value, BaseData.class);
                    SjqlGroupHairController.getInstance().setParms(data.getData().getCanClickCount(),
                            data.getData().getMinWait(),data.getData().getMaxWait(),data.getData().getText());
                    break;

            }

            AppContext.taskType = addType;
            PreferenceHelper.putInt(Const.PREF_KEY_ADD_PEOPLE_TYPE, addType);
            EventBus.getDefault().post(new Integer(addType));
            sendToServerFlag(AppContext.taskId, 1, "开始执行");

            AppUtil.jumpToWX(AppContext.getInstance().getContext());

        }catch (Exception e){
           e.printStackTrace();
        }


    }


}
